From 64f450881e2b5d3c6ca512f910818e61c0daa7f9 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Tue, 12 Feb 2013 11:52:47 +0100 Subject: [PATCH] * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate UserInstallation when calling soffice to work around LibreOffice bug 37531. --- lisp/ChangeLog | 6 ++++++ lisp/doc-view.el | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e0f15251305..be399aa8d27 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-02-12 Tassilo Horn + + * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate + UserInstallation when calling soffice to work around LibreOffice + bug 37531. + 2013-02-12 Glenn Morris * files.el (basic-save-buffer): diff --git a/lisp/doc-view.el b/lisp/doc-view.el index edd59a7b518..da0b728ce91 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -940,8 +940,20 @@ is named like ODF with the extension turned to pdf." The converted PDF is put into the current cache directory, and it is named like ODF with the extension turned to pdf." (doc-view-start-process "odf->pdf" doc-view-odf->pdf-converter-program - (list "--headless" "--convert-to" "pdf" - "--outdir" (doc-view-current-cache-dir) odf) + (list + ;; FIXME: soffice doesn't work when there's + ;; another running LibreOffice instance, in + ;; which case it returns success without + ;; actually doing anything. See + ;; LibreOffice bug + ;; https://bugs.freedesktop.org/show_bug.cgi?id=37531. + ;; A workaround is to start soffice with a + ;; separate UserInstallation directory. + (concat "-env:UserInstallation=file://" + (expand-file-name (format "libreoffice-docview%d" (user-uid)) + temporary-file-directory)) + "--headless" "--convert-to" "pdf" + "--outdir" (doc-view-current-cache-dir) odf) callback)) (defun doc-view-pdf/ps->png (pdf-ps png) -- 2.30.2